home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / epson.bas < prev    next >
BASIC Source File  |  1988-11-09  |  13KB  |  237 lines

  1. 1       CLS:KEY OFF
  2. 2       REM EPSON PRINTER :: Version 1.0 :: 1 March 1985
  3. 3       REM By Fred Heutte, Evaluation Research Corporation
  4. 4       REM 310 SW 4th, Suite 412 o Portland, Oregon 97204
  5. 5       REM 503/241-0858
  6. 6       REM This program was written for the Epson MX-100 and similar
  7. 7       REM printers.  It was written in Microsoft BASIC on a Columbia MPC.
  8. 8       REM This program may be freely used and modified provided that lines
  9. 9       REM 1-10 remain intact.  If modifications are made, please notify the
  10. 10      REM author.  Distribution for sale is NOT permitted.
  11. 11      KEY 1,"HELP  "+CHR$(13)
  12. 12      KEY 2,"MENU  "+CHR$(13)
  13. 13      KEY 3,"STATUS"+CHR$(13)
  14. 14      KEY 4,"PAGE  "+CHR$(13)
  15. 15      KEY 5,"LINE  "+CHR$(13)
  16. 16      KEY 6,"FORMAT"+CHR$(13)
  17. 17      KEY 7,"RESET "+CHR$(13)
  18. 18      KEY 8,"STYLES"+CHR$(13)
  19. 19      KEY 9,"TEST  "+CHR$(13)
  20. 20      KEY 10,"EXIT  "+CHR$(13)
  21. 21      KEY ON
  22. 22      C$=CHR$(27)
  23. 24      CF$=C$+"W"+CHR$(0)+C$+"F"+C$+"H"+C$+"5"+CHR$(18):REM Clear Font
  24. 26      SS$(1)="71 Superscript printing is selected.":SS$(2)="72 Subscript printing is selected."
  25. 27      DIM S(25)
  26. 28      E$=SPACE$(60)
  27. 30      REM  **************************************
  28. 32      REM  ***  MODULE 30: SCREEN FONT TABLE  ***
  29. 34      REM  **************************************
  30. 36      DIM MP$(60):DIM MS$(60)
  31. 38      MP$(11)=""                 :MS$(11)="11 Standard Pica"
  32. 39      MP$(12)=C$+"W"+CHR$(1)     :MS$(12)="12 Double Width Pica"
  33. 40      MP$(13)=C$+"E"             :MS$(13)="13 Emphasized Pica"
  34. 41      MP$(14)=C$+"G"             :MS$(14)="14 Double Strike Pica"
  35. 42      MP$(15)=C$+"4"             :MS$(15)="15 Italic Pica"
  36. 48      MP$(21)=CHR$(15)           :MS$(21)="21 Standard Compressed"
  37. 49      MP$(22)=CHR$(15)+C$+"W"+CHR$(1):MS$(22)="22 Double Width Compressed"
  38. 50      MP$(24)=CHR$(15)+C$+"G"    :MS$(24)="24 Double Strike Compressed"
  39. 51      MP$(25)=CHR$(15)+C$+"4"    :MS$(25)="25 Italic Compressed"
  40. 58     LPRINT CHR$(27)"@";:MS$(MS)="11 Standard Pica":F1=11:F2=12:FA2=6:F3=1:F4=80
  41. 60      GOTO 200
  42. 70      REM  ****************************************
  43. 72       REM  ***  MODULE 70: FUNCTION KEY CALLS  ***
  44. 74       REM  ***************************************
  45. 76       IF K$="EXIT" THEN CLS:SYSTEM
  46. 78       IF K$="HELP" THEN GOSUB 100
  47. 80       IF K$="STATUS" THEN GOSUB 300
  48. 82       IF K$="PAGE" THEN GOSUB 400
  49. 84       IF K$="LINE" THEN GOSUB 500
  50. 86       IF K$="FORMAT" THEN GOSUB 600
  51. 88       IF K$="RESET" THEN GOSUB 700
  52. 90       IF K$="STYLES" THEN GOSUB 800
  53. 92       IF K$="TEST" THEN GOSUB 900
  54. 94       RETURN
  55. 100     REM  *********************************
  56. 102     REM  ***  MODULE 100: HELP SCREEN  ***
  57. 104     REM  *********************************
  58. 106     CLS:COLOR 15:PRINT "                         EPSON PRINTER :: HELP SCREEN":COLOR 7
  59. 108     PRINT
  60. 110     COLOR 15:PRINT "  .==============================  FUNCTION KEYS  ===========================.":COLOR 7
  61. 112     PRINT "  :";:PRINT TAB(78) ":"
  62. 114     PRINT "  :   F1  HELP     Displays this screen.";:PRINT TAB(78) ":"
  63. 116     PRINT "  :   F2  MENU     Displays the Main Menu.";:PRINT TAB(78) ":"
  64. 118     PRINT "  :   F3  STATUS   Displays current printer font, style and format settings.";:PRINT TAB(78) ":"
  65. 120     PRINT "  :   F4  PAGE     Advances printer to top of next page.";:PRINT TAB(78) ":"
  66. 122     PRINT "  :   F5  LINE     Advances printer one line.";:PRINT TAB(78) ":"
  67. 124     PRINT "  :   F6  FORMAT   Displays page format menu.";:PRINT TAB(78) ":"
  68. 126     PRINT "  :   F7  RESET    Restores printer to power-up settings.";:PRINT TAB(78) ":"
  69. 128     PRINT "  :   F8  STYLES   Prints a sample of available fonts and type faces.";:PRINT TAB(78) ":"
  70. 130     PRINT "  :   F9  TEST     Prints a test line using current printer settings.";:PRINT TAB(78) ":"
  71. 132     PRINT "  :   F10 EXIT     Exits to DOS, saving current printer settings.";:PRINT TAB(78) ":"
  72. 134     PRINT "  :..........................................................................:
  73. 136     PRINT
  74. 140     PRINT
  75. 142     PRINT TAB(12) CHR$(16);:PRINT "  For more detailed HELP files, read EPSON.DOC.
  76. 144     PRINT
  77. 148     COLOR 15:PRINT TAB(12);:INPUT "Press any key to continue . . . ",H$
  78. 150     COLOR 7:IF H$="H" THEN RETURN ELSE RETURN
  79. 200    REM *******************************
  80. 202    REM ***  MODULE 200: MAIN MENU  ***
  81. 204    REM *******************************
  82. 206    CLS
  83. 210    COLOR 15:PRINT "                            EPSON PRINTER :: MAIN MENU
  84. 211    PRINT
  85. 212    PRINT "           .======== PICA =========.       .===== COMPRESSED ======.
  86. 213    COLOR 7:PRINT "           :  (10 chars per inch)  :       :  (17 chars per inch)  :
  87. 214    PRINT "           :                       :       :                       :
  88. 215    PRINT "           :  11  Standard         :       :  21  Standard         :
  89. 216    PRINT "           :  12  Double Width     :       :  22  Double Width     :
  90. 217    PRINT "           :  13  Emphasized       :       :                       :
  91. 218    PRINT "           :  14  Double Strike    :       :  24  Double Strike    :
  92. 219    PRINT "           :  15  Italic           :       :  25  Italic           :
  93. 220    PRINT "           :.......................:       :.......................:
  94. 221    PRINT
  95. 231    PRINT
  96. 232    LOCATE 13,21:PRINT E$:LOCATE 13,1:COLOR 15:INPUT "       Your choice: ",M$:COLOR 7
  97. 234    IF M$="MENU" GOTO 200
  98. 236    IF M$="HELP" THEN GOSUB 100:GOTO 200
  99. 238    M=VAL(M$):IF M=0 THEN K$=M$:GOSUB 70:GOTO 232
  100. 240     IF M<11 OR M>25 THEN LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) "Choose a selection between 11 and 25 . . .":PRINT:GOTO 232
  101. 242     IF M=16 OR M=17 OR M=18 OR M=19 OR M=20 OR M=23 THEN LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) M "is an invalid entry.  Please try again . . .":PRINT:GOTO 232
  102. 248    LPRINT CF$;
  103. 250     MS=M
  104. 252    LPRINT MP$(MS);:LOCATE 15:PRINT E$:LOCATE 15:PRINT TAB(10) MS$(MS) " selected."
  105. 254    IF M=11 OR M=13 OR M=14 OR M=15 THEN F4=1:F5=80:GOTO 232
  106. 256    IF M=12 THEN F4=1:F5=40:GOTO 232
  107. 258     IF M=21 OR M=24 OR M=25 THEN F4=1:F5=132:GOTO 232
  108. 262     IF M=22 THEN F4=1:F5=68:GOTO 232
  109. 300     REM  ************************************
  110. 302     REM  ***  MODULE 300: KEY 3 (STATUS)  ***
  111. 304     REM  ************************************
  112. 305     LOCATE 17:PRINT E$
  113. 306     LOCATE 17:PRINT TAB(13);:PRINT "The printer is set for "MS$(MS);:PRINT "."
  114. 309     IF SS>0 THEN PRINT TAB(13) SS$(SS)
  115. 310     PRINT TAB(13);:PRINT "Page Length ="F1;:PRINT "inches    Line Spacing ="FA2;:PRINT "per inch
  116. 312     PRINT TAB(13);:PRINT "Right Margin ="F4
  117. 314     PRINT TAB(13);:PRINT "Skip Over Form ="F3;:PRINT "lines
  118. 316     RETURN
  119. 400     REM ***************************************
  120. 402     REM ***  MODULE 400: KEY 4 (PAGE FEED)  ***
  121. 404     REM ***************************************
  122. 406     LPRINT CHR$(12);
  123. 407     LOCATE 15:PRINT TAB(10) "Pagefeed selected."
  124. 408     RETURN
  125. 500     REM **************************************
  126. 502     REM ***  MODULE 500: KEY 5 (LINEFEED)  ***
  127. 504     REM **************************************
  128. 506     LPRINT CHR$(10);
  129. 507     LOCATE 15:PRINT TAB(10) "Linefeed selected."
  130. 508     RETURN
  131. 600    REM **********************************************
  132. 602    REM ***  MODULE 600: FUNCTION KEY 6 (FORMATS)  ***
  133. 604    REM **********************************************
  134. 606    CLS
  135. 608    PRINT "                         EPSON PRINTER :: FORMAT MENU
  136. 610    PRINT "
  137. 612    PRINT "         .......................................................
  138. 614    PRINT "         :                                                     :
  139. 616    PRINT "         :  1  Page Length =";
  140. 618    PRINT F1"inches    (default=11)";:PRINT TAB(64)":"
  141. 620    PRINT "         :  2  Line Spacing =";
  142. 622    PRINT FA2"per inch    (default=6)";:PRINT TAB(64)":"
  143. 624    PRINT "         :  3  Skip over form =";
  144. 626    PRINT F3"line(s)    (default=1 line)";:PRINT TAB(64)":"
  145. 632    PRINT "         :  4  Right Margin = Column";
  146. 634    PRINT F4"    (default=80)";:PRINT TAB(64)":"
  147. 640    PRINT "         :  5  Return Settings to Default Values               :
  148. 642    PRINT "         :.....................................................:
  149. 644    PRINT "
  150. 646    PRINT "
  151. 648    COLOR 15:LOCATE 12,26:PRINT SPACE$(30):LOCATE 12,1:INPUT "            Your choice: ",F$:COLOR 7
  152. 650    IF F$="MENU" GOTO 200
  153. 651     IF F$="HELP" THEN GOSUB 100:GOTO 600
  154. 652    F=VAL(F$)
  155. 654    IF F=5 THEN F1=11:F2=12:FA2=6:F3=1:F4=80:GOSUB 680:GOTO 600
  156. 656    IF F=0 THEN K$=F$:GOSUB 70:GOTO 648
  157. 658    IF F>5 THEN PRINT TAB(15) "Choose a selection between 1 and 6 . . . ":PRINT:GOTO 648
  158. 660    PRINT:PRINT TAB(13):ON F GOSUB 662,664,666,670:GOSUB 680:GOTO 600
  159. 662    INPUT "Set page length (1-22 inches): ",F1
  160. 663    IF F1<1 OR F1>22 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 22":PRINT:PRINT TAB(13):GOTO 662 ELSE RETURN
  161. 664    INPUT "Set line spacing (1-72 per inch): ",FA2:F2=CINT(72/FA2)
  162. 665    IF FA2<1 OR FA2>72 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 72":PRINT:PRINT TAB(13):GOTO 664 ELSE RETURN
  163. 666    INPUT "Set skip over form (1-127 lines): ",F3
  164. 667    IF F3<1 OR F3>127 THEN PRINT TAB(13);:PRINT "Choose a value between 1 and 127":PRINT:PRINT TAB(13):GOTO 666 ELSE RETURN
  165. 670    INPUT "Set right margin: ",F4
  166. 671    IF F4>80 THEN PRINT TAB(13);:PRINT "Choose a value between 2 and 80":GOTO 670 ELSE RETURN
  167. 680    REM  ***************************************************
  168. 682    REM  ***  MODULE 680: SEND PRINTER FORMAT SETTINGS  ***
  169. 684    REM  ***************************************************
  170. 686    LPRINT C$+"C"+CHR$(0)+CHR$(F1);
  171. 688    LPRINT C$+"A"+CHR$(F2);
  172. 690    LPRINT C$+"N"+CHR$(F3);
  173. 692    LPRINT C$+"Q"+CHR$(F4);
  174. 696    LPRINT C$+"Q"+CHR$(F5);
  175. 698    RETURN
  176. 700     REM ********************************************
  177. 702     REM ***  MODULE 700: FUNCTION KEY 7 (RESET)  ***
  178. 704     REM ********************************************
  179. 706     SS=0:MS=11:IS$="USA":I=0:F1=11:F2=12:FA2=6:F3=1:F4=80:F5=8:LPRINT CHR$(27)+"@";
  180. 708     PRINT:PRINT TAB(13);:PRINT "The printer has been reset to the start-up
  181. 710     PRINT TAB(13);:PRINT "configuration, including the Top-of-Form setting."
  182. 712     PRINT:RETURN
  183. 800     REM  ************************************
  184. 802     REM  ***  MODULE 800: KEY 8 (STYLES)  ***
  185. 804     REM  ************************************
  186. 806     COLOR 23:PRINT:PRINT TAB(13);:PRINT "Printing Styles Catalogue . . .":PRINT:COLOR 7
  187. 808     LPRINT:LPRINT:LPRINT:LPRINT
  188. 810     LPRINT "                EPSON PRINTER :: STYLES CATALOGUE
  189. 812     LPRINT:LPRINT
  190. 814     LPRINT "    The following styles can be selected from the Main Menu:
  191. 816     LPRINT:LPRINT
  192. 820     S(1)=11:S(2)=12:S(3)=13:S(4)=14:S(5)=15:S(6)=21:S(7)=22
  193. 822     S(8)=24:S(9)=25
  194. 826     FOR U=1 TO 9
  195. 828     LPRINT CF$
  196. 830     LPRINT MP$(S(U));:LPRINT MS$(S(U))
  197. 832     NEXT U
  198. 834     LPRINT CF$:LPRINT:LPRINT:LPRINT:LPRINT MP$(MS)
  199. 836     LPRINT "The printer is currently set for "MS$(MS);:LPRINT "."
  200. 838     LPRINT CHR$(12);:
  201. 840     LOCATE 15:PRINT E$
  202. 842     RETURN
  203. 900     REM *******************************************
  204. 902     REM ***  MODULE 900: FUNCTION KEY 9 (TEST)  ***
  205. 904     REM *******************************************
  206. 906     LPRINT "The printer is set for "MS$(MS);:LPRINT "."
  207. 909     IF SS>0 THEN LPRINT SS$(SS)
  208. 910     FOR T1=65 TO 90:LPRINT CHR$(T1);:NEXT T1
  209. 912     FOR T2=97 TO 122:LPRINT CHR$(T2);:NEXT T2
  210. 914     FOR T3=48 TO 57:LPRINT CHR$(T3);:NEXT T3
  211. 916     FOR T4=91 TO 94:LPRINT CHR$(T4);:NEXT T4
  212. 918     FOR T5=123 TO 126:LPRINT CHR$(T5);:NEXT T5
  213. 920     FOR T=1 TO 4:LPRINT CHR$(10):NEXT T
  214. 922     RETURN
  215. 1100    REM  **********************************************
  216. 1102    REM  ***  MODULE 1100: SUPERSCRIPT & SUBSCRIPT  ***
  217. 1104    REM  **********************************************
  218. 1106    IF M=71 THEN LPRINT C$+"S"+CHR$(0);:SS=1:PRINT TAB(9) SS$(1):RETURN
  219. 1108    IF M=72 THEN LPRINT C$+"S"+CHR$(1);:SS=2:PRINT TAB(9) SS$(2):RETURN
  220. 6000 REM Program development loop: save and return to edit
  221. 6020 CLS
  222. 6040 SAVE "B:EPSON":SAVE "B:EPSON.BAK"
  223. 6100 KEY OFF
  224. 6110 KEY 1,"LIST"+CHR$(13)
  225. 6120 KEY 2,"RUN"+CHR$(13)
  226. 6130 KEY 3,"EDIT "+CHR$(34)
  227. 6140 KEY 4,"LOAD "+CHR$(34)
  228. 6150 KEY 5,"SAVE "+CHR$(34)
  229. 6160 KEY 6,"CHR$("
  230. 6170 KEY 7,"PRINT "+CHR$(34)
  231. 6180 KEY 8,"LPRINT "+CHR$(34)
  232. 6190 KEY 9,"NEW"+CHR$(13)
  233. 6200 KEY 10,"SYSTEM"+CHR$(13)
  234. 6210 KEY ON
  235. 6400 PRINT "Epson printer loaded for editing."
  236. 6500 LOAD "B:epson
  237.